package com.yonyou.cyxdms.basedata.service.dto.dmsFeign;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeSerializer;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Created by  XiaHY
 * @Description
 * @since 2022/5/21 13:33
 */
@ApiModel(value = "SaveOrUpdateProductDTO", description = "车辆主数据")
public class SaveOrUpdateProductDTO  implements Serializable{
	private static final long serialVersionUID = 1L;
    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌ID")
    private Integer brandId;

    @ApiModelProperty(value = "品牌代码")
    private String brandCode;
    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    /**
     * 车系
     */
    @ApiModelProperty(value = "车系ID")
    private Integer seriesId;

    @ApiModelProperty(value = "车系代码")
    private String seriesCode;

    @ApiModelProperty(value = "车系名称")
    private String seriesName;

    /**
     * 车型
     */
    @ApiModelProperty(value = "车型ID")
    private Integer modelId;

    @ApiModelProperty(value = "车型代码")
    private String modelCode;

    @ApiModelProperty(value = "车型名称")
    private String modelName;

    /**
     * 配置
     */
    @ApiModelProperty(value = "配置ID")
    private Integer configId;

    @ApiModelProperty(value = "配置代码")
    private String configCode;

    @ApiModelProperty(value = "配置名称")
    private String configName;
    @ApiModelProperty(value = "经销商价格")
    private BigDecimal dealerPricePno12;

    @ApiModelProperty(value = "零售指导价格")
    private BigDecimal oemPricePno12;
    /**
     * 选装
     */
    @ApiModelProperty(value = "选装代码")
    private String optionId;

    @ApiModelProperty(value = "选装代码")
    private String optionCode;

    @ApiModelProperty(value = "选装名称")
    private String optionName;

    /**
     * 颜色
     */
    @ApiModelProperty(value = "颜色ID")
    private Integer colorId;

    @ApiModelProperty(value = "颜色代码")
    private String colorCode;

    @ApiModelProperty(value = "颜色名称")
    private String colorName;

    /**
     * 内饰
     */
    @ApiModelProperty(value = "内饰ID")
    private Integer trimColorId;

    @ApiModelProperty(value = "内饰代码")
    private String trimColorCode;

    @ApiModelProperty(value = "内饰名称")
    private String trimColorName;

    /**
     * 产品
     */
    @ApiModelProperty("产品ID")
    private Integer productId;

    @ApiModelProperty("产品CODE")
    private String productCode;

    @ApiModelProperty("产品名称")
    private String productName;

    @ApiModelProperty("产品描述")
    private String productDesc;

    @ApiModelProperty("是否可销：是、否  1004")
    private Integer isSales;

    @ApiModelProperty("是否可订购")
    private Integer orderStatus;

    @ApiModelProperty("车厂指导价")
    private BigDecimal oemDirectivePrice;

    @ApiModelProperty("含税采购价格")
    private BigDecimal purchasePrice;
    
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    @ApiModelProperty("上市日期")
    private LocalDateTime enterDate;
    
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    @ApiModelProperty("退市日期")
    private LocalDateTime exeuntDate;

    @ApiModelProperty("车辆来源")
    private Integer vehicleSources;

    @ApiModelProperty("年款")
    private String yearModel;

    @ApiModelProperty("排量")
    private String disPlacement;

    @ApiModelProperty("排放标准")
    private Integer dischargeStandard;

    @ApiModelProperty("续航里程")
    private String enduranceMileage;

    @ApiModelProperty("变速箱")
    private String transMission;

    @ApiModelProperty("动力类型")
    private Integer powerType;

    @ApiModelProperty("动力代码")
    private String powerCode;

    @ApiModelProperty("动力名称")
    private String powerName;

    @ApiModelProperty("传动系统代码")
    private String transmissionCode;

    @ApiModelProperty("传动系统名称")
    private String transmissionName;

    @ApiModelProperty("方向盘代码")
    private String steeringWheelCode;

    @ApiModelProperty("方向盘名称")
    private String steeringWheelName;

    @ApiModelProperty("市场代码")
    private String marketCode;

    @ApiModelProperty("市场名称")
    private String marketName;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("是否有效")
    private Integer productIsValid;

    @ApiModelProperty("项目代号")
    private String projectCode;

    @ApiModelProperty("销售版本")
    private String salesVersionName;

    @ApiModelProperty("驱动形式")
    private String driveStyleName;

    @ApiModelProperty("电池厂家")
    private String batteryOem;

    @ApiModelProperty("电池容量")
    private String batteryVolume;

    @ApiModelProperty("电机品牌")
    private String powerMachineBrand;

    @ApiModelProperty("年型")
    private String yearModelName;

    @ApiModelProperty("动力电池编码")
    private String batteryCode;

    public BigDecimal getDealerPricePno12() {
        return dealerPricePno12;
    }

    public void setDealerPricePno12(BigDecimal dealerPricePno12) {
        this.dealerPricePno12 = dealerPricePno12;
    }

    public BigDecimal getOemPricePno12() {
        return oemPricePno12;
    }

    public void setOemPricePno12(BigDecimal oemPricePno12) {
        this.oemPricePno12 = oemPricePno12;
    }

    public String getBatteryCode() {
        return batteryCode;
    }

    public void setBatteryCode(String batteryCode) {
        this.batteryCode = batteryCode;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getSalesVersionName() {
        return salesVersionName;
    }

    public void setSalesVersionName(String salesVersionName) {
        this.salesVersionName = salesVersionName;
    }

    public String getDriveStyleName() {
        return driveStyleName;
    }

    public void setDriveStyleName(String driveStyleName) {
        this.driveStyleName = driveStyleName;
    }

    public String getBatteryOem() {
        return batteryOem;
    }

    public void setBatteryOem(String batteryOem) {
        this.batteryOem = batteryOem;
    }

    public String getBatteryVolume() {
        return batteryVolume;
    }

    public void setBatteryVolume(String batteryVolume) {
        this.batteryVolume = batteryVolume;
    }

    public String getPowerMachineBrand() {
        return powerMachineBrand;
    }

    public void setPowerMachineBrand(String powerMachineBrand) {
        this.powerMachineBrand = powerMachineBrand;
    }

    public String getYearModelName() {
        return yearModelName;
    }

    public void setYearModelName(String yearModelName) {
        this.yearModelName = yearModelName;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public String getBrandCode() {
        return brandCode;
    }

    public void setBrandCode(String brandCode) {
        this.brandCode = brandCode;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public Integer getSeriesId() {
        return seriesId;
    }

    public void setSeriesId(Integer seriesId) {
        this.seriesId = seriesId;
    }

    public String getSeriesCode() {
        return seriesCode;
    }

    public void setSeriesCode(String seriesCode) {
        this.seriesCode = seriesCode;
    }

    public String getSeriesName() {
        return seriesName;
    }

    public void setSeriesName(String seriesName) {
        this.seriesName = seriesName;
    }

    public Integer getModelId() {
        return modelId;
    }

    public void setModelId(Integer modelId) {
        this.modelId = modelId;
    }

    public String getModelCode() {
        return modelCode;
    }

    public void setModelCode(String modelCode) {
        this.modelCode = modelCode;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public Integer getConfigId() {
        return configId;
    }

    public void setConfigId(Integer configId) {
        this.configId = configId;
    }

    public String getConfigCode() {
        return configCode;
    }

    public void setConfigCode(String configCode) {
        this.configCode = configCode;
    }

    public String getConfigName() {
        return configName;
    }

    public void setConfigName(String configName) {
        this.configName = configName;
    }



    public String getOptionId() {
        return optionId;
    }

    public void setOptionId(String optionId) {
        this.optionId = optionId;
    }

    public String getOptionCode() {
        return optionCode;
    }

    public void setOptionCode(String optionCode) {
        this.optionCode = optionCode;
    }

    public String getOptionName() {
        return optionName;
    }

    public void setOptionName(String optionName) {
        this.optionName = optionName;
    }

    public Integer getColorId() {
        return colorId;
    }

    public void setColorId(Integer colorId) {
        this.colorId = colorId;
    }

    public String getColorCode() {
        return colorCode;
    }

    public void setColorCode(String colorCode) {
        this.colorCode = colorCode;
    }

    public String getColorName() {
        return colorName;
    }

    public void setColorName(String colorName) {
        this.colorName = colorName;
    }

    public Integer getPowerType() {
        return powerType;
    }

    public void setPowerType(Integer powerType) {
        this.powerType = powerType;
    }

    public Integer getTrimColorId() {
        return trimColorId;
    }

    public void setTrimColorId(Integer trimColorId) {
        this.trimColorId = trimColorId;
    }

    public String getTrimColorCode() {
        return trimColorCode;
    }

    public void setTrimColorCode(String trimColorCode) {
        this.trimColorCode = trimColorCode;
    }

    public String getTrimColorName() {
        return trimColorName;
    }

    public void setTrimColorName(String trimColorName) {
        this.trimColorName = trimColorName;
    }

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductDesc() {
        return productDesc;
    }

    public void setProductDesc(String productDesc) {
        this.productDesc = productDesc;
    }

    public Integer getIsSales() {
        return isSales;
    }

    public void setIsSales(Integer isSales) {
        this.isSales = isSales;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public BigDecimal getOemDirectivePrice() {
        return oemDirectivePrice;
    }

    public void setOemDirectivePrice(BigDecimal oemDirectivePrice) {
        this.oemDirectivePrice = oemDirectivePrice;
    }

    public BigDecimal getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(BigDecimal purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    public LocalDateTime getEnterDate() {
        return enterDate;
    }

    public void setEnterDate(LocalDateTime enterDate) {
        this.enterDate = enterDate;
    }

    public LocalDateTime getExeuntDate() {
        return exeuntDate;
    }

    public void setExeuntDate(LocalDateTime exeuntDate) {
        this.exeuntDate = exeuntDate;
    }

    public Integer getVehicleSources() {
        return vehicleSources;
    }

    public void setVehicleSources(Integer vehicleSources) {
        this.vehicleSources = vehicleSources;
    }

    public String getYearModel() {
        return yearModel;
    }

    public void setYearModel(String yearModel) {
        this.yearModel = yearModel;
    }

    public String getDisPlacement() {
        return disPlacement;
    }

    public void setDisPlacement(String disPlacement) {
        this.disPlacement = disPlacement;
    }

    public Integer getDischargeStandard() {
        return dischargeStandard;
    }

    public void setDischargeStandard(Integer dischargeStandard) {
        this.dischargeStandard = dischargeStandard;
    }

    public String getEnduranceMileage() {
        return enduranceMileage;
    }

    public void setEnduranceMileage(String enduranceMileage) {
        this.enduranceMileage = enduranceMileage;
    }

    public String getTransMission() {
        return transMission;
    }

    public void setTransMission(String transMission) {
        this.transMission = transMission;
    }

    public String getPowerCode() {
        return powerCode;
    }

    public void setPowerCode(String powerCode) {
        this.powerCode = powerCode;
    }

    public String getPowerName() {
        return powerName;
    }

    public void setPowerName(String powerName) {
        this.powerName = powerName;
    }

    public String getTransmissionCode() {
        return transmissionCode;
    }

    public void setTransmissionCode(String transmissionCode) {
        this.transmissionCode = transmissionCode;
    }

    public String getTransmissionName() {
        return transmissionName;
    }

    public void setTransmissionName(String transmissionName) {
        this.transmissionName = transmissionName;
    }

    public String getSteeringWheelCode() {
        return steeringWheelCode;
    }

    public void setSteeringWheelCode(String steeringWheelCode) {
        this.steeringWheelCode = steeringWheelCode;
    }

    public String getSteeringWheelName() {
        return steeringWheelName;
    }

    public void setSteeringWheelName(String steeringWheelName) {
        this.steeringWheelName = steeringWheelName;
    }

    public String getMarketCode() {
        return marketCode;
    }

    public void setMarketCode(String marketCode) {
        this.marketCode = marketCode;
    }

    public String getMarketName() {
        return marketName;
    }

    public void setMarketName(String marketName) {
        this.marketName = marketName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getProductIsValid() {
        return productIsValid;
    }

    public void setProductIsValid(Integer productIsValid) {
        this.productIsValid = productIsValid;
    }

    @Override
    public String toString() {
        return "SaveOrUpdateProductDTO{" +
                "brandId=" + brandId +
                ", brandCode='" + brandCode + '\'' +
                ", brandName='" + brandName + '\'' +
                ", seriesId=" + seriesId +
                ", seriesCode='" + seriesCode + '\'' +
                ", seriesName='" + seriesName + '\'' +
                ", modelId=" + modelId +
                ", modelCode='" + modelCode + '\'' +
                ", modelName='" + modelName + '\'' +
                ", configId=" + configId +
                ", configCode='" + configCode + '\'' +
                ", configName='" + configName + '\'' +
                ", optionId=" + optionId +
                ", optionCode='" + optionCode + '\'' +
                ", optionName='" + optionName + '\'' +
                ", colorId=" + colorId +
                ", colorCode='" + colorCode + '\'' +
                ", colorName='" + colorName + '\'' +
                ", trimColorId=" + trimColorId +
                ", trimColorCode='" + trimColorCode + '\'' +
                ", trimColorName='" + trimColorName + '\'' +
                ", productId=" + productId +
                ", productCode='" + productCode + '\'' +
                ", productName='" + productName + '\'' +
                ", productDesc='" + productDesc + '\'' +
                ", isSales=" + isSales +
                ", orderStatus=" + orderStatus +
                ", oemDirectivePrice=" + oemDirectivePrice +
                ", purchasePrice=" + purchasePrice +
                ", enterDate=" + enterDate +
                ", exeuntDate=" + exeuntDate +
                ", vehicleSources=" + vehicleSources +
                ", yearModel='" + yearModel + '\'' +
                ", disPlacement='" + disPlacement + '\'' +
                ", dischargeStandard=" + dischargeStandard +
                ", enduranceMileage='" + enduranceMileage + '\'' +
                ", transMission='" + transMission + '\'' +
                ", powerType=" + powerType +
                ", powerCode='" + powerCode + '\'' +
                ", powerName='" + powerName + '\'' +
                ", transmissionCode='" + transmissionCode + '\'' +
                ", transmissionName='" + transmissionName + '\'' +
                ", steeringWheelCode='" + steeringWheelCode + '\'' +
                ", steeringWheelName='" + steeringWheelName + '\'' +
                ", marketCode='" + marketCode + '\'' +
                ", marketName='" + marketName + '\'' +
                ", remark='" + remark + '\'' +
                ", productIsValid=" + productIsValid +
                '}';
    }
}


